menuitem: simplify code
authorCosimo Cecchi <cosimoc@gnome.org>
Sat, 19 Dec 2015 20:10:45 +0000 (12:10 -0800)
committerCosimo Cecchi <cosimoc@gnome.org>
Sun, 20 Dec 2015 05:22:37 +0000 (21:22 -0800)
Only cast once.

gtk/gtkmenuitem.c

index a984d56cc57d25956dfaf2909feae8a61cf578cd..cb41858b3e2f075becd0f7ed57afd700ae25205b 100644 (file)
@@ -1585,11 +1585,15 @@ void
 gtk_menu_item_set_submenu (GtkMenuItem *menu_item,
                            GtkWidget   *submenu)
 {
-  GtkMenuItemPrivate *priv = menu_item->priv;
+  GtkWidget *widget;
+  GtkMenuItemPrivate *priv;
 
   g_return_if_fail (GTK_IS_MENU_ITEM (menu_item));
   g_return_if_fail (submenu == NULL || GTK_IS_MENU (submenu));
 
+  widget = GTK_WIDGET (menu_item);
+  priv = menu_item->priv;
+
   if (priv->submenu != submenu)
     {
       if (priv->submenu)
@@ -1599,14 +1603,14 @@ gtk_menu_item_set_submenu (GtkMenuItem *menu_item,
         {
           priv->submenu = submenu;
           gtk_menu_attach_to_widget (GTK_MENU (submenu),
-                                     GTK_WIDGET (menu_item),
+                                     widget,
                                      gtk_menu_item_detacher);
 
-          if (!GTK_IS_MENU_BAR (gtk_widget_get_parent (GTK_WIDGET (menu_item))))
+          if (!GTK_IS_MENU_BAR (gtk_widget_get_parent (widget)))
             {
               GtkCssNode *widget_node;
 
-              widget_node = gtk_widget_get_css_node (GTK_WIDGET (menu_item));
+              widget_node = gtk_widget_get_css_node (widget);
               priv->arrow_node = gtk_css_node_new ();
               gtk_css_node_set_name (priv->arrow_node, I_("arrow"));
               gtk_css_node_set_parent (priv->arrow_node, widget_node);
@@ -1615,7 +1619,7 @@ gtk_menu_item_set_submenu (GtkMenuItem *menu_item,
 
               priv->arrow_gadget =
                 gtk_css_custom_gadget_new_for_node (priv->arrow_node,
-                                                    GTK_WIDGET (menu_item),
+                                                    widget,
                                                     NULL,
                                                     NULL,
                                                     gtk_menu_item_render_arrow,
@@ -1627,8 +1631,8 @@ gtk_menu_item_set_submenu (GtkMenuItem *menu_item,
             }
         }
 
-      if (gtk_widget_get_parent (GTK_WIDGET (menu_item)))
-        gtk_widget_queue_resize (GTK_WIDGET (menu_item));
+      if (gtk_widget_get_parent (widget))
+        gtk_widget_queue_resize (widget);
 
       g_object_notify_by_pspec (G_OBJECT (menu_item), menu_item_props[PROP_SUBMENU]);
     }